package ONVIF::PTZ::Types::BaseFaultType;
use strict;
use warnings;


__PACKAGE__->_set_element_form_qualified(1);

sub get_xmlns { 'http://docs.oasis-open.org/wsrf/bf-2' };

our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}

use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

Class::Std::initialize();

{ # BLOCK to scope variables

my %Timestamp_of :ATTR(:get<Timestamp>);
my %Originator_of :ATTR(:get<Originator>);
my %ErrorCode_of :ATTR(:get<ErrorCode>);
my %Description_of :ATTR(:get<Description>);
my %FaultCause_of :ATTR(:get<FaultCause>);

__PACKAGE__->_factory(
    [ qw(        Timestamp
        Originator
        ErrorCode
        Description
        FaultCause

    ) ],
    {
        'Timestamp' => \%Timestamp_of,
        'Originator' => \%Originator_of,
        'ErrorCode' => \%ErrorCode_of,
        'Description' => \%Description_of,
        'FaultCause' => \%FaultCause_of,
    },
    {
        'Timestamp' => 'SOAP::WSDL::XSD::Typelib::Builtin::dateTime',
        'Originator' => 'ONVIF::PTZ::Types::EndpointReferenceType',

        'ErrorCode' => 'ONVIF::PTZ::Types::BaseFaultType::_ErrorCode',

        'Description' => 'ONVIF::PTZ::Types::BaseFaultType::_Description',

        'FaultCause' => 'ONVIF::PTZ::Types::BaseFaultType::_FaultCause',
    },
    {

        'Timestamp' => 'Timestamp',
        'Originator' => 'Originator',
        'ErrorCode' => 'ErrorCode',
        'Description' => 'Description',
        'FaultCause' => 'FaultCause',
    }
);

} # end BLOCK




package ONVIF::PTZ::Types::BaseFaultType::_Description;
use strict;
use warnings;
{
our $XML_ATTRIBUTE_CLASS = 'ONVIF::PTZ::Types::BaseFaultType::_Description::XmlAttr';

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}

use base qw(
    SOAP::WSDL::XSD::Typelib::ComplexType
    SOAP::WSDL::XSD::Typelib::Builtin::string
);

package ONVIF::PTZ::Types::BaseFaultType::_Description::XmlAttr;
use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet);

{ # BLOCK to scope variables

my %lang_of :ATTR(:get<lang>);

__PACKAGE__->_factory(
    [ qw(
        lang
    ) ],
    {

        lang => \%lang_of,
    },
    {

            lang => 'ONVIF::PTZ::Attributes::lang',
    }
);

} # end BLOCK


}



package ONVIF::PTZ::Types::BaseFaultType::_ErrorCode;
use strict;
use warnings;
{
our $XML_ATTRIBUTE_CLASS = 'ONVIF::PTZ::Types::BaseFaultType::_ErrorCode::XmlAttr';

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}


use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
# Variety: 


# There's no variety - empty complexType
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

__PACKAGE__->_factory();


package ONVIF::PTZ::Types::BaseFaultType::_ErrorCode::XmlAttr;
use base qw(SOAP::WSDL::XSD::Typelib::AttributeSet);

{ # BLOCK to scope variables

my %dialect_of :ATTR(:get<dialect>);

__PACKAGE__->_factory(
    [ qw(
        dialect
    ) ],
    {

        dialect => \%dialect_of,
    },
    {
        dialect => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
    }
);

} # end BLOCK


}



package ONVIF::PTZ::Types::BaseFaultType::_FaultCause;
use strict;
use warnings;
{
our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}

use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

Class::Std::initialize();

{ # BLOCK to scope variables


__PACKAGE__->_factory(
    [ qw(
    ) ],
    {
    },
    {
    },
    {

    }
);

} # end BLOCK






}






1;


=pod

=head1 NAME

ONVIF::PTZ::Types::BaseFaultType

=head1 DESCRIPTION

Perl data type class for the XML Schema defined complexType
BaseFaultType from the namespace http://docs.oasis-open.org/wsrf/bf-2.






=head2 PROPERTIES

The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:

=over

=item * Timestamp


=item * Originator


=item * ErrorCode


=item * Description


=item * FaultCause




=back


=head1 METHODS

=head2 new

Constructor. The following data structure may be passed to new():

 { # ONVIF::PTZ::Types::BaseFaultType
   Timestamp =>  $some_value, # dateTime
   Originator =>  { # ONVIF::PTZ::Types::EndpointReferenceType
     Address =>  { value => $some_value },
     ReferenceParameters =>  { # ONVIF::PTZ::Types::ReferenceParametersType
     },
     Metadata =>  { # ONVIF::PTZ::Types::MetadataType
     },
   },
   ErrorCode => 
 # No documentation generated for complexContent / extension yet
,
   Description =>  { value => $some_value },
   FaultCause =>  {
   },
 },




=head1 AUTHOR

Generated by SOAP::WSDL

=cut

